///////////////////////////////////////////////////////////////////////////////
///
/// Copyright (c) 2013 - <company name here>
///
/// Original filename: Driver1.h
/// Project          : Driver1
/// Date of creation : <see Driver1.cpp>
/// Author(s)        : <see Driver1.cpp>
///
/// Purpose          : <see Driver1.cpp>
///
/// Revisions:         <see Driver1.cpp>
///
///////////////////////////////////////////////////////////////////////////////

// $Id$

#ifndef __DRIVER1_H_VERSION__
#define __DRIVER1_H_VERSION__ 100

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif


#include "msg_Driver1.h"
#include "drvcommon.h"
#include "drvversion.h"

#define DEVICE_NAME			"\\Device\\DRIVER1_DeviceName"
#define SYMLINK_NAME		"\\DosDevices\\DRIVER1_SYMLINK_NAME"
PRESET_UNICODE_STRING(usDeviceName, DEVICE_NAME);
PRESET_UNICODE_STRING(usSymlinkName, SYMLINK_NAME);

#ifndef FILE_DEVICE_DRIVER1
#define FILE_DEVICE_DRIVER1 0x8000
#endif

// Values defined for "Method"
// METHOD_BUFFERED
// METHOD_IN_DIRECT
// METHOD_OUT_DIRECT
// METHOD_NEITHER
// 
// Values defined for "Access"
// FILE_ANY_ACCESS
// FILE_READ_ACCESS
// FILE_WRITE_ACCESS

const ULONG IOCTL_DRIVER1_WRITE = CTL_CODE(0x8000, 0x01, METHOD_BUFFERED, FILE_ANY_ACCESS);
const ULONG IOCTL_DRIVER1_READ = CTL_CODE(0x8000, 0x02, METHOD_BUFFERED, FILE_ANY_ACCESS );
const ULONG IOCTL_DRIVER1_EVENT = CTL_CODE(0x8000, 0x03, METHOD_BUFFERED, FILE_ANY_ACCESS );
const ULONG IOCTL_DRIVER1_SHARE = CTL_CODE(0x8000, 0x04, METHOD_BUFFERED, FILE_ANY_ACCESS );

#define     ETH_MAX_PACKET_SIZE  1514



//
//PMDL MmAllocatePagesForMdlEx(
//							   PHYSICAL_ADDRESS LowAddress,
//							   PHYSICAL_ADDRESS HighAddress,
//							   PHYSICAL_ADDRESS SkipBytes,
//							   SIZE_T TotalBytes,
//							   MEMORY_CACHING_TYPE CacheType,
//							   ULONG Flags
//							 );









#endif // __DRIVER1_H_VERSION__
